#ifndef INCLUDED_GAMESTATE_H
#define INCLUDED_GAMESTATE_H

#include<SGE.h>
#include "GameContext.h"

using namespace SGE;

enum NextState
{
	None,
	Frontend,
	Gameplay,
	Quit
};

class GameState
{
public:
	GameState(GameContext& gc);
	virtual ~GameState();

	virtual void Load() = 0;
	virtual void Unload() = 0;
	virtual NextState Update(float deltaTime) = 0;
	virtual void Render() = 0;

protected:
	GameContext& mGameContext;
};

#endif // #ifndef INCLUDED_GAMESTATE_H